$(function(){
	//用户账户
	$("#uact input").blur(function(){
		var uact = $("#uact input").val();
		if(uact.length==0){
			alert("账户不能为空");
			return false;
			
		}
		if(uact.length<3){
			$("#uact input").val(null);
			alert("账户长度不能小于3位");
			
			return false;
		}
		if(uact.length>6){
			$("#uact input").val(null);
			alert("账户长度不能大于6位");
		return false;
		}
		
		
		if(!/^[a-zA-Z]\S+$/.test(uact)){
			alert("首字母必须是英文");
		return false;
		}
	});
	//用户密码
	$("#upsw input").blur(function(){
		var upsw = $("#upsw input").val();
		if(upsw.length==0){
			alert("密码不能为空");
			return false;
			
		}
		if(upsw.length<3){
			$("#upsw input").val(null);
			alert("密码长度不能小于3位");
			
			return false;
		}
		if(upsw.length>16){
			$("#upsw input").val(null);
			alert("密码长度不能大于16位");
		return false;
		}
	});
	//身份证
	$("#ucard input").blur(function(){
		var num = $("#ucard input").val();
	

		          num = num.toUpperCase();

		         //身份证号码为15位或者18位，15位时全为数字，18位前17位为数字，最后一位是校验位，可能为数字或字符X。  

		          if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num)))  

		          {

		               alert('输入的身份证号长度不对，或者号码不符合规定！\n15位号码应全为数字，18位号码末位可以为数字或X。');

		              return false;

		         }

		//校验位按照ISO 7064:1983.MOD 11-2的规定生成，X可以认为是数字10。

		//下面分别分析出生日期和校验位

		var len, re;

		len = num.length;

		if (len == 15)

		{

		re = new RegExp(/^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/);

		var arrSplit = num.match(re);

		//检查生日日期是否正确

		var dtmBirth = new Date('19' + arrSplit[2] + '/' + arrSplit[3] + '/' + arrSplit[4]);

		var bGoodDay;

		bGoodDay = (dtmBirth.getYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));

		if (!bGoodDay)

		{

		          alert('输入的身份证号里出生日期不对！');  

		           return false;

		}

		else

		{

		//将15位身份证转成18位

		//校验位按照ISO 7064:1983.MOD 11-2的规定生成，X可以认为是数字10。

		          var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);

		           var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');

		           var nTemp = 0, i;  

		            num = num.substr(0, 6) + '19' + num.substr(6, num.length - 6);

		           for(i = 0; i < 17; i ++)

		          {

		                nTemp += num.substr(i, 1) * arrInt[i];

		           }

		           num += arrCh[nTemp % 11];  

		            return num;  

		}  

		}

		if (len == 18)

		{

		re = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/);

		var arrSplit = num.match(re);

		//检查生日日期是否正确

		var dtmBirth = new Date(arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4]);

		var bGoodDay;

		bGoodDay = (dtmBirth.getFullYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));

		if (!bGoodDay)

		{

		alert(dtmBirth.getYear());

		alert(arrSplit[2]);

		alert('输入的身份证号里出生日期不对！');

		return false;

		}

		else

		{

		//检验18位身份证的校验码是否正确。

		//校验位按照ISO 7064:1983.MOD 11-2的规定生成，X可以认为是数字10。

		var valnum;

		var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);

		var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');

		var nTemp = 0, i;

		for(i = 0; i < 17; i ++)

		{

		nTemp += num.substr(i, 1) * arrInt[i];

		}

		valnum = arrCh[nTemp % 11];

		if (valnum != num.substr(17, 1))

		{

		alert('18位身份证的校验码不正确！');//应该为：' + valnum

		return false;

		}

		return num;

		}

		}

		return false;

		   
//		if((/^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/.test(ucard)))
//		{ 
//			 if(ucard.length==18){
//				   var idCardWi=new Array( 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ); //将前17位加权因子保存在数组里
//				   var idCardY=new Array( 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ); //这是除以11后，可能产生的11位余数、验证码，也保存成数组
//					var idCardWiSum=0; //用来保存前17位各自乖以加权因子后的总和
//					 for(var i=0;i<17;i++){
//						    idCardWiSum+=idCard.substring(i,i+1)*idCardWi[i];
//						   }
//					 var idCardMod=idCardWiSum%11;//计算出校验码所在数组的位置
//					   var idCardLast=idCard.substring(17);//得到最后一位身份证号码
//					   //如果等于2，则说明校验码是10，身份证号码最后一位应该是X
//					   if(idCardMod==2){
//					    if(idCardLast=="X"||idCardLast=="x"){
//					     alert("恭喜通过验证啦！");
//					    }else{
//					     alert("身份证号码错误！");
//					     return false;
//					    }
//					   }else{
//					    //用计算出的验证码与最后一位身份证号码匹配，如果一致，说明通过，否则是无效的身份证号码
//					    if(idCardLast==idCardY[idCardMod]){
//					     alert("恭喜通过验证啦！");
//					    }else{
//					     alert("身份证号码错误！");
//					     return false;
//					    }
//					   }
//					  } 
//					 }else{
//					  alert("身份证格式不正确!");
//					  return false;
//					 }
//	
	
	});
	//用户姓名
	$("#uname input").blur(function(){
		var uname = $("#uname input").val();
		if(uname.length==0){
			alert("用户姓名不能为空");
			return false;
			
		}
		if(!/^[\u4e00-\u9fa5]{2,4}$/.test(uname)){
			alert("姓名请务必真实填写");
			return false;
		}
		
	});
	//用户联系方式
	$("#uphone input").blur(function(){
		var uphone = $("#uphone input").val();
		if(uphone.length==0){
			alert("联系方式不能为空");
			return false;			
		}
	
			if(!(/^1(3|4|5|7|8)\d{9}$/.test(uphone)))
			{ 
				alert("手机号码有误，请重填"); return false; 
				} 
	});
	
	
	
	//修改界面
	//用户账户
	$("#ract input").blur(function(){
		var ract = $("#ract input").val();
		if(ract.length==0){
			alert("账户不能为空");
			return false;
			
		}
		if(ract.length<3){
			$("#ract input").val(null);
			alert("账户长度不能小于3位");
			
			return false;
		}
		if(ract.length>6){
			$("#ract input").val(null);
			alert("账户长度不能大于6位");
		return false;
		}
		if(!/^[a-zA-Z]\S+$/.test(ract)){
			alert("首字母必须是英文");
		return false;
		}
	});
	//用户密码
	$("#rpsw input").blur(function(){
		var rpsw = $("#rpsw input").val();
		if(rpsw.length==0){
			alert("密码不能为空");
			return false;
			
		}
		if(rpsw.length<3){
			$("#rpsw input").val(null);
			alert("密码长度不能小于3位");
			
			return false;
		}
		if(rpsw.length>16){
			$("#rpsw input").val(null);
			alert("密码长度不能大于16位");
		return false;
		}
	});
	//身份证
	$("#rcard input").blur(function(){
		var num = $("#rcard input").val();
		   num = num.toUpperCase();

	         //身份证号码为15位或者18位，15位时全为数字，18位前17位为数字，最后一位是校验位，可能为数字或字符X。  

	          if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num)))  

	          {

	               alert('输入的身份证号长度不对，或者号码不符合规定！\n15位号码应全为数字，18位号码末位可以为数字或X。');

	              return false;

	         }

	//校验位按照ISO 7064:1983.MOD 11-2的规定生成，X可以认为是数字10。

	//下面分别分析出生日期和校验位

	var len, re;

	len = num.length;

	if (len == 15)

	{

	re = new RegExp(/^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/);

	var arrSplit = num.match(re);

	//检查生日日期是否正确

	var dtmBirth = new Date('19' + arrSplit[2] + '/' + arrSplit[3] + '/' + arrSplit[4]);

	var bGoodDay;

	bGoodDay = (dtmBirth.getYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));

	if (!bGoodDay)

	{

	          alert('输入的身份证号里出生日期不对！');  

	           return false;

	}

	else

	{

	//将15位身份证转成18位

	//校验位按照ISO 7064:1983.MOD 11-2的规定生成，X可以认为是数字10。

	          var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);

	           var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');

	           var nTemp = 0, i;  

	            num = num.substr(0, 6) + '19' + num.substr(6, num.length - 6);

	           for(i = 0; i < 17; i ++)

	          {

	                nTemp += num.substr(i, 1) * arrInt[i];

	           }

	           num += arrCh[nTemp % 11];  

	            return num;  

	}  

	}

	if (len == 18)

	{

	re = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/);

	var arrSplit = num.match(re);

	//检查生日日期是否正确

	var dtmBirth = new Date(arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4]);

	var bGoodDay;

	bGoodDay = (dtmBirth.getFullYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));

	if (!bGoodDay)

	{

	alert(dtmBirth.getYear());

	alert(arrSplit[2]);

	alert('输入的身份证号里出生日期不对！');

	return false;

	}

	else

	{

	//检验18位身份证的校验码是否正确。

	//校验位按照ISO 7064:1983.MOD 11-2的规定生成，X可以认为是数字10。

	var valnum;

	var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);

	var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');

	var nTemp = 0, i;

	for(i = 0; i < 17; i ++)

	{

	nTemp += num.substr(i, 1) * arrInt[i];

	}

	valnum = arrCh[nTemp % 11];

	if (valnum != num.substr(17, 1))

	{

	alert('18位身份证的校验码不正确！');//应该为：' + valnum

	return false;

	}

	return num;

	}

	}

	return false;
	});
	//用户姓名
	$("#rname input").blur(function(){
		var rname = $("#rname input").val();
		if(rname.length==0){
			alert("用户姓名不能为空");
			return false;
			
		}
		if(!/^[\u4e00-\u9fa5]{2,4}$/.test(rname)){
			alert("姓名请务必真实填写");
			return false;
		}
	});
	//用户联系方式
	$("#rphone input").blur(function(){
		var rphone = $("#rphone input").val();
		if(rphone.length==0){
			alert("联系方式姓名不能为空");
			return false;
			
		}
		if(!(/^1(3|4|5|7|8)\d{9}$/.test(uphone)))
		{ 
			alert("手机号码有误，请重填");
			return false; 
			} 
	});
	
})




